<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
>
<f:view>
	<ui:composition template="/WEB-INF/templates/interna.xhtml">
		<ui:define name="nav">
			<h:form id="menu">
				<p:menu id="menuItens" styleClass="menu">
					<p:menuitem value="Cadastro" url="/admin/pessoa/cadastro" />
					<p:menuitem value="Atualiza&ccedil;&atilde;o" url="/admin/pessoa/atualizacao" />
				</p:menu>
			</h:form>
		</ui:define>

		<ui:define name="centro">

			<h:form id="cadastroPessoaForm">
			<h:inputHidden value="#{pessoaManagendBean.tipoPessoa}" />
				<p:panel id="cadastroPessoaPanel">
					<p:messages autoUpdate="true" />
					<f:facet name="header">Cadastro Pessoa</f:facet>
					<h:outputLabel value="#{msg['pesquisaPessoa.nome']}:" for="pesquisa" />
					<p:autoComplete completeMethod="#{pessoaManagendBean.listarPessoasFisicas}" value="#{pessoaManagendBean.pessoa}" var="pessoaPesq"
						itemLabel="#{pessoaPesq.nome}" itemValue="#{pessoaPesq}" minQueryLength="3" forceSelection="true" converter="pessoaConverter"
						
					>
						<!-- <p:ajax update="cadastroPessoaForm" listener="#{pessoaManagendBean.onCompleteAlterarPessoa()}" /> -->
					</p:autoComplete>
					<p:commandButton value="Buscar" ajax="true" actionListener="#{pessoaManagendBean.onCompleteAlterarPessoa()}" update="@form">
						
					</p:commandButton>


					<p:panelGrid  style="width:400px;" columns="3" rendered="#{not empty pessoaManagendBean.tipoPessoa}">

						<h:outputLabel value="#{msg['cadastroPessoa.perfil']}" />
						<p:selectOneMenu  id="perfil" value="#{pessoaManagendBean.pessoa.perfil.id}" required="true">
							<f:selectItems value="#{pessoaManagendBean.perfis}" var="perfil" itemValue="#{perfil.id}" itemLabel="#{perfil.nome}" />
						</p:selectOneMenu>
						<p:message for="perfil" />

						<h:outputLabel value="#{msg['cadastroPessoa.nome']}:" for="nome" />
						<p:inputText id="nome" label="#{msg['cadastroPessoa.nome']}" value="#{pessoaManagendBean.pessoa.nome}" />
						<p:message for="nome" />

						<h:outputLabel value="#{msg['cadastroPessoa.email']}:" for="email" />
						<p:inputText id="email" label="#{msg['cadastroPessoa.email']}" value="#{pessoaManagendBean.pessoa.email}" required="true" >
							<f:validator validatorId="br.com.divulgaqui.validators.EmailValidator"/>
						</p:inputText>
						<p:message for="email" id="msg_email" showDetail="true" />

						<h:outputLabel id="cpfLabel" value="#{msg['cadastroPessoa.cpf']}:" rendered="#{pessoaManagendBean.tipoPessoa eq 'pf'}" />
						<p:inputMask id="cpf" label="#{msg['cadastroPessoa.cpf']}" rendered="#{pessoaManagendBean.tipoPessoa eq 'pf'}" mask="999-999-999-99"
							required="true" value="#{pessoaManagendBean.cpf}"
						>
							<f:validator validatorId="br.com.divulgaqui.validators.CPFValidator" />
						</p:inputMask>
						<p:message id="msg_cpf" for="cpf" rendered="#{pessoaManagendBean.tipoPessoa eq 'pf'}" />

						<h:outputLabel id="cnpjLabel" value="#{msg['cadastroPessoa.cnpj']}:" rendered="#{pessoaManagendBean.tipoPessoa eq 'pj'}" />
						<p:inputMask id="cnpj" label="#{msg['cadastroPessoa.cpf']}" mask="09.999.999/9999-99" required="true" value="#{pessoaManagendBean.cnpj}"
							rendered="#{pessoaManagendBean.tipoPessoa eq 'pj'}"
						>
							<f:validator validatorId="br.com.divulgaqui.validators.CNPJValidator"/>
						</p:inputMask>
						<p:message id="cnpjMessage" for="cnpj" rendered="#{pessoaManagendBean.tipoPessoa eq 'pj'}" />

						

						<h:outputLabel value="#{msg['cadastroPessoa.ativo']}:" for="ativo" />
						<p:selectBooleanCheckbox id="ativo" label="#{msg['cadastroPessoa.ativo']}" value="#{pessoaManagendBean.pessoa.ativo}" />
						<p:message for="ativo" />

						<h:outputLabel value="#{msg['cadastroPessoa.telefone.telefone']}" />
						<p:inputMask id="telefone" label="#{msg['cadastroPessoa.telefone.telefone']}" mask="99-9999-9999" value="#{pessoaManagendBean.telefone.numero}"
							required="false"
						/>
						<p:commandButton id="bAddTelefone" ajax="true" value="#{msg['cadastroPessoa.telefone.adicionar']}" update="@this,telefone,telefones"
							actionListener="#{pessoaManagendBean.addTelefone()}" process="@this,telefone,telefones"
						>
							<p:ajax event="click" listener="#{pessoaManagendBean.addTelefone()}" process="telefone,telefones" update="telefone,telefones" immediate="false" />
						</p:commandButton>

						<h:outputLabel value="#{msg['cadastroPessoa.endereco']}:" />
						<p:commandButton id="bAddEndereco" ajax="true" value="#{msg['cadastroPessoa.telefone.adicionar']}"
							update="@this,enderecos,logradouro,numero,bairro,uf,cidade,cep,complemento	" actionListener="#{pessoaManagendBean.addEndereco()}"
							process="@this,enderecos,logradouro,numero,bairro,uf,cidade,cep,complemento"
						>
							<p:ajax event="click" listener="#{pessoaManagendBean.addEndereco()}"
								process="@this,enderecos,logradouro,numero,bairro,uf,cidade,cep,complemento"
								update="@this,enderecos,logradouro,numero,bairro,uf,cidade,cep,complemento"
							/>
						</p:commandButton>
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.logradouro']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.logradouro}" id="logradouro" label="#{msg['cadastroPessoa.endereco.logradouro']}"
							required="flase"
						/>
						<h:outputText id="test" value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.numero']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.numero}" id="numero" required="false" label="#{msg['cadastroPessoa.endereco.numero']}" />
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.bairro']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.bairro}" id="bairro" required="false" label="#{msg['cadastroPessoa.endereco.bairro']}" />
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.uf']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.uf}" id="uf" required="false" label="#{msg['cadastroPessoa.endereco.uf']}" />
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.cidade']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.cidade}" id="cidade" required="false" label="#{msg['cadastroPessoa.endereco.cidade']}" />
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.cep']}" />
						<p:inputMask mask="99999-999" value="#{pessoaManagendBean.endereco.cep}" id="cep" required="false" label="#{msg['cadastroPessoa.endereco.cep']}" />
						<h:outputText value="" />

						<h:outputLabel value="#{msg['cadastroPessoa.endereco.complemento']}" />
						<p:inputText value="#{pessoaManagendBean.endereco.complemento}" id="complemento" required="false"
							label="#{msg['cadastroPessoa.endereco.complemento']}"
						/>
						<h:outputText value="" />

					</p:panelGrid>
					<p:dataTable id="telefones" style="width:420px;" value="#{pessoaManagendBean.telefones}" emptyMessage="#{msg['cadastroPessoa.telefone.semTelefones']}" var="item" editable="true" rendered="#{not empty pessoaManagendBean.tipoPessoa}" >
							<f:facet name="header">#{msg['cadastroPessoa.telefone.telefones']}</f:facet>
						<p:column headerText="#{msg['cadastroPessoa.telefone.codigoArea']}">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{item.codigoEstado}" />
								</f:facet>
								<f:facet name="input">
									<p:inputMask id="codigoEstado_datatable" mask="99" value="#{item.codigoEstado}" />
								</f:facet>
							</p:cellEditor>
						</p:column>
						<p:column headerText="#{msg['cadastroPessoa.telefone.telefone']}">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{item.numero}" />
								</f:facet>
								<f:facet name="input">
									<p:inputMask id="telefone_datatable" mask="99999999" value="#{item.numero}" />
								</f:facet>
							</p:cellEditor>
							
						</p:column>
						<p:column headerText="#{msg.editar}">
							<p:rowEditor />
						</p:column>

					</p:dataTable>
						<p:dataTable id="enderecos" value="#{pessoaManagendBean.enderecos}" var="item" editable="true" emptyMessage="#{msg['cadastroPessoa.endereco.semEnderecos']}" rendered="#{not empty pessoaManagendBean.tipoPessoa}">
							<f:facet name="header">#{msg['cadastroPessoa.endereco.enderecos']}</f:facet>
							<p:column headerText="#{msg['cadastroPessoa.endereco.logradouro']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.logradouro}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.logradouro}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.numero']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.numero}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.numero}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.bairro']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.bairro}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.bairro}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.uf']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.uf}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.uf}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.cidade']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.cidade}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.cidade}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.cep']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.cep}" />
									</f:facet>
									<f:facet name="input">
										<p:inputMask mask="99999-999" value="#{item.cep}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg['cadastroPessoa.endereco.complemento']}">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{item.complemento}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{item.complemento}" />
									</f:facet>
								</p:cellEditor>
							</p:column>
							<p:column headerText="#{msg.editar}">
								<p:rowEditor />
							</p:column>

						</p:dataTable>

					<f:facet name="footer">
						
						<p:commandButton icon="ui-icon-disk" ajax="false" type="submit" value="Alterar" id="bCadastrarPessoaFisica"
							actionListener="#{pessoaManagendBean.salvarPessoa()}" rendered="#{not empty pessoaManagendBean.tipoPessoa}"
							process="@form"
						/>
					</f:facet>

				</p:panel>
			</h:form>

		</ui:define>
	</ui:composition>
</f:view>
</html>